package com.whnk.attendance.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.whnk.common.core.annotation.Excel;
import com.whnk.common.core.web.domain.BaseEntity;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
/**
 * 人员基本信息对象 emp_base_info
 *
 * @author whnk
 * @date 2021-11-17
 */
public class EmpBaseInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 证件号码 */
    private String empId;

    /** 姓名 */
    @Excel(name = "姓名")
    private String empNm;

    /** 证件类型 */
    @Excel(name = "证件类型")
    private String empIdType;

    /** 电话 */
    @Excel(name = "电话")
    private String empTel;

    /** 性别 */
    @Excel(name = "性别")
    private String empSex;

    /** 所属公司名称 */
    @Excel(name = "所属公司名称")
    private String empComp;

    /** 人员技能及特长 */
    @Excel(name = "人员技能及特长")
    private String empSkills;

    /** 工作年限 */
    @Excel(name = "工作年限")
    private Long empWorkYears;

    /** 银行工作年限 */
    @Excel(name = "银行工作年限")
    private Long empBankYears;

    /** 银行事项个数 */
    @Excel(name = "银行事项个数")
    private Long empBankCount;

    /** 建行工作年限 */
    @Excel(name = "建行工作年限")
    private Long empCcbYears;

    /** 建行事项个数 */
    @Excel(name = "建行事项个数")
    private Long empCcbCount;

    /** 导入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "导入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date empOperTime;

    /** 核实状态: 0-已核实 1-未核实 */
    @Excel(name = "核实状态: 0-已核实 1-未核实")
    private String empVerifyStatus;

    /** 当前职位 */
    @Excel(name = "当前职位")
    private String empPosition;

    /** 进入公司年限 */
    @Excel(name = "进入公司年限")
    private Integer empCompanyYears;

    /** 入职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date empInTime;

    /** 毕业时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "毕业时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date empBiyeTime;

    /** 学历 */
    @Excel(name = "学历")
    private String empXl;

    /** 基本工资 */
    @Excel(name = "基本工资")
    private BigDecimal empWage;

    /** 在职状态(01-在职,02-离职，03-挂职) */
    @Excel(name = "在职状态(01-在职,02-离职，03-挂职)")
    private String empWorkState;

    /** 离职时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "离职时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date empDepartureTime;

    public void setEmpId(String empId)
    {
        this.empId = empId;
    }

    public String getEmpId()
    {
        return empId;
    }
    public void setEmpNm(String empNm)
    {
        this.empNm = empNm;
    }

    public String getEmpNm()
    {
        return empNm;
    }
    public void setEmpIdType(String empIdType)
    {
        this.empIdType = empIdType;
    }

    public String getEmpIdType()
    {
        return empIdType;
    }
    public void setEmpTel(String empTel)
    {
        this.empTel = empTel;
    }

    public String getEmpTel()
    {
        return empTel;
    }
    public void setEmpSex(String empSex)
    {
        this.empSex = empSex;
    }

    public String getEmpSex()
    {
        return empSex;
    }
    public void setEmpComp(String empComp)
    {
        this.empComp = empComp;
    }

    public String getEmpComp()
    {
        return empComp;
    }
    public void setEmpSkills(String empSkills)
    {
        this.empSkills = empSkills;
    }

    public String getEmpSkills()
    {
        return empSkills;
    }
    public void setEmpWorkYears(Long empWorkYears)
    {
        this.empWorkYears = empWorkYears;
    }

    public Long getEmpWorkYears()
    {
        return empWorkYears;
    }
    public void setEmpBankYears(Long empBankYears)
    {
        this.empBankYears = empBankYears;
    }

    public Long getEmpBankYears()
    {
        return empBankYears;
    }
    public void setEmpBankCount(Long empBankCount)
    {
        this.empBankCount = empBankCount;
    }

    public Long getEmpBankCount()
    {
        return empBankCount;
    }
    public void setEmpCcbYears(Long empCcbYears)
    {
        this.empCcbYears = empCcbYears;
    }

    public Long getEmpCcbYears()
    {
        return empCcbYears;
    }
    public void setEmpCcbCount(Long empCcbCount)
    {
        this.empCcbCount = empCcbCount;
    }

    public Long getEmpCcbCount()
    {
        return empCcbCount;
    }
    public void setEmpOperTime(Date empOperTime)
    {
        this.empOperTime = empOperTime;
    }

    public Date getEmpOperTime()
    {
        return empOperTime;
    }
    public void setEmpVerifyStatus(String empVerifyStatus)
    {
        this.empVerifyStatus = empVerifyStatus;
    }

    public String getEmpVerifyStatus()
    {
        return empVerifyStatus;
    }
    public void setEmpPosition(String empPosition)
    {
        this.empPosition = empPosition;
    }

    public String getEmpPosition()
    {
        return empPosition;
    }
    public void setEmpCompanyYears(Integer empCompanyYears)
    {
        this.empCompanyYears = empCompanyYears;
    }

    public Integer getEmpCompanyYears()
    {
        return empCompanyYears;
    }
    public void setEmpInTime(Date empInTime)
    {
        this.empInTime = empInTime;
    }

    public Date getEmpInTime()
    {
        return empInTime;
    }
    public void setEmpBiyeTime(Date empBiyeTime)
    {
        this.empBiyeTime = empBiyeTime;
    }

    public Date getEmpBiyeTime()
    {
        return empBiyeTime;
    }
    public void setEmpXl(String empXl)
    {
        this.empXl = empXl;
    }

    public String getEmpXl()
    {
        return empXl;
    }
    public void setEmpWage(BigDecimal empWage)
    {
        this.empWage = empWage;
    }

    public BigDecimal getEmpWage()
    {
        return empWage;
    }
    public void setEmpWorkState(String empWorkState)
    {
        this.empWorkState = empWorkState;
    }

    public String getEmpWorkState()
    {
        return empWorkState;
    }
    public void setEmpDepartureTime(Date empDepartureTime)
    {
        this.empDepartureTime = empDepartureTime;
    }

    public Date getEmpDepartureTime()
    {
        return empDepartureTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("empId", getEmpId())
            .append("empNm", getEmpNm())
            .append("empIdType", getEmpIdType())
            .append("empTel", getEmpTel())
            .append("empSex", getEmpSex())
            .append("empComp", getEmpComp())
            .append("empSkills", getEmpSkills())
            .append("empWorkYears", getEmpWorkYears())
            .append("empBankYears", getEmpBankYears())
            .append("empBankCount", getEmpBankCount())
            .append("empCcbYears", getEmpCcbYears())
            .append("empCcbCount", getEmpCcbCount())
            .append("empOperTime", getEmpOperTime())
            .append("empVerifyStatus", getEmpVerifyStatus())
            .append("empPosition", getEmpPosition())
            .append("empCompanyYears", getEmpCompanyYears())
            .append("empInTime", getEmpInTime())
            .append("empBiyeTime", getEmpBiyeTime())
            .append("empXl", getEmpXl())
            .append("empWage", getEmpWage())
            .append("empWorkState", getEmpWorkState())
            .append("empDepartureTime", getEmpDepartureTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
